package com.dys.ai.common.dto;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class OrderDTO {
    /**
     * 订单编号
     */
    private Long orderId;
    /**
     * 乘客姓名
     */
    private String passengerName;
    /**
     * 车次编号
     */
    private String trainNumber;
    /**
     * 出发时间
     */
    @JsonFormat(pattern = "HH:mm:ss")
    private LocalTime departureTime;
    /**
     * 出发站
     */
    private String departureStation;
    /**
     * 到达站
     */
    private String arrivalStation;
    /**
     * 座位信息
     */
    private String seatInfo;
    /**
     * 订单状态
     */
    private String orderStatus;
    /**
     * 票价
     */
    private BigDecimal amount;
    /**
     * 退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDateTime refundTime;
    /**
     * 手续费(退款费用)
     */
    private BigDecimal refundFee;

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public String getPassengerName() {
        return passengerName;
    }

    public void setPassengerName(String passengerName) {
        this.passengerName = passengerName;
    }

    public String getTrainNumber() {
        return trainNumber;
    }

    public void setTrainNumber(String trainNumber) {
        this.trainNumber = trainNumber;
    }

    public LocalTime getDepartureTime() {
        return departureTime;
    }

    public void setDepartureTime(LocalTime departureTime) {
        this.departureTime = departureTime;
    }

    public String getDepartureStation() {
        return departureStation;
    }

    public void setDepartureStation(String departureStation) {
        this.departureStation = departureStation;
    }

    public String getArrivalStation() {
        return arrivalStation;
    }

    public void setArrivalStation(String arrivalStation) {
        this.arrivalStation = arrivalStation;
    }

    public String getSeatInfo() {
        return seatInfo;
    }

    public void setSeatInfo(String seatInfo) {
        this.seatInfo = seatInfo;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public LocalDateTime getRefundTime() {
        return refundTime;
    }

    public void setRefundTime(LocalDateTime refundTime) {
        this.refundTime = refundTime;
    }

    public BigDecimal getRefundFee() {
        return refundFee;
    }

    public void setRefundFee(BigDecimal refundFee) {
        this.refundFee = refundFee;
    }
}
